package com.dwxt.sport.business.entity;

import com.dwxt.sport.util.DictUtil;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.time.LocalDateTime;

@Data
@Accessors(chain = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
@Table(name = "t_sports_training_details")
public class SportsTrainingDetails {

    @Id
    private String id;

    /**
     * 体育培训关联id
     */
    @Column(name = "sports_training_id")
    @ApiModelProperty("体育培训关联id")
    private String sportsTrainingId;

    /**
     * 机构名字
     */
    @Column(name = "organ_name")
    @ApiModelProperty("机构名字")
    private String organName;

    /**
     * 教室数量
     */
    @Column(name = "classroom_count")
    @ApiModelProperty("教室数量")
    private Integer classroomCount;

    /**
     * 老师数量
     */
    @Column(name = "teacher_count")
    @ApiModelProperty("老师数量")
    private Integer teacherCount;

    /**
     * 学生数量
     */
    @Column(name = "student_count")
    @ApiModelProperty("学生数量")
    private Integer studentCount;

    /**
     * 历史学生总数
     */
    @Column(name = "total_history_students")
    @ApiModelProperty("历史学生总数")
    private Integer totalHistoryStudents;

    /**
     * 接入监控设备数量
     */
    @Column(name = "monitoring_count")
    @ApiModelProperty("接入监控设备数量")
    private Integer monitoringCount;

    /**
     * 设备状态
     */
    @Column(name = "device_state")
    @ApiModelProperty("设备状态")
    private String deviceStates;

    @ApiModelProperty("设备状态Display")
    public String getDeviceStatesDisplay(){
        return deviceStates!=null? DictUtil.getDisplay("deviceState",deviceStates):null;
    }

    /**
     * 逻辑删除标识(0否1是)
     */
    @Column(name = "is_delete")
    private String isDelete;

    /**
     * 创建时间
     */
    @Column(name = "create_time")
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime createTime;

    /**
     * 创建人id
     */
    @Column(name = "create_user_id")
    private String createUserId;

    /**
     * (最近)更新时间
     */
    @Column(name = "update_time")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @ApiModelProperty("(最近)更新时间")
    private LocalDateTime updateTime;

    /**
     * 更新人id
     */
    @Column(name = "update_user_id")
    private String updateUserId;

    /**
     * 备用字段1
     */
    private String attr1;

    /**
     * 备用字段2
     */
    private String attr2;

    /**
     * 备用字段3
     */
    private String attr3;

    /**
     * 备用字段4
     */
    private String attr4;

}